package 抽象;
/*
* 抽象类的应用，模板方法的设计模式
* */
public class TemplateTest {
    public static void main(String[] args) {
        Template t = new SubTemplate();
        t.sentTime();
    }
}
abstract class Template{
    public void sentTime(){
        long start=System.currentTimeMillis();
        Code();//不确定的部分 这里省略了this.Code(),此时this是指t;
        long end=System.currentTimeMillis();
        System.out.println("运行时间为"+(end - start));
    }
    public abstract void Code();
}
class SubTemplate extends Template{

    @Override
    public void Code() {
        for (int i = 2; i <1000 ; i++) {
            boolean isFlag=true;
            for (int j = 2; j < Math.sqrt(i) ; j++) {
                if(i%j==0){
                    isFlag=false;
                    break;
                }
                if(isFlag){
                    System.out.println(i);
                }
            }
        }
    }
}

